

const Subscription = require('egg').Subscription;

class WsSubscription extends Subscription {

  static get schedule() {
    return {
      // disable: false, // DEBUG 用，切勿随意打开 | 设置为true的话，关闭此定时任务
      // interval: '1m', // 1 分钟间隔
      cron: '*/15 * * * * *', // 也可以通过 cron 表达式来构建时间间隔
      type: 'worker', // 指定所有的 worker 都需要执行
      immediate: true, // 项目启动就执行一次定时任务
      // env: [ 'dev', 'debug' ], // 该定时任务在开发环境和debug模式下才执行
    };
  }


  async subscribe() {

    try {
      console.log('22222');
      if (this.app.room) {
        const room = Array.from(this.app.room);
        for (const r of room) {
          r.send(JSON.stringify(this.app.online ? this.app.online : {}));
        }
      }
    } catch (error) {
      throw error;
    }

  }
}

module.exports = WsSubscription;

